Field
This disclosure relates generally to computer processing systems, and more specifically, to computer processing systems with resource transfer instructions.
Related Art
A computer processing system can include one or more processing cores and a hardware task scheduler. Programs to be run in the system are divided into a set of tasks and multiple tasks may share the processing cores as the tasks are performed. A new task is scheduled to run when a currently executing task issues a voluntary resource transfer instruction to the task scheduler. The task manager finalizes the next task to run, and the core switches to the next task by performing a context switch. Context switching is done in hardware through an alternate register file in the core, which can be read/written by the task scheduler hardware. In previously known systems, the task scheduler finalizes the next task to run in a core and loads the context after the task scheduler receives the resource transfer instruction. The core must wait to load the context information for the next task until the task scheduler indicates to the core which task is to run next.